import Vue from 'vue'
import VueRouter from 'vue-router'
import store from '../store'

function hasUrl(url, next) {
  let result = store.getters.getUser.menus_url.some(item => item == url)
  if (result) {
    next()
  } else {
    //没有权限就强制跳转到首页
    // console.log('1212121');
    next('/home')
  }
}

Vue.use(VueRouter)

export const routesIndex = [{
    path: '/menu',
    component: () => import('../views/menu/menu.vue'),
    meta: {
      title: '菜单管理'
    },
  }, {
    path: '/role',
    component: () => import('../views/role/role.vue'),
    meta: {
      title: '角色管理'
    },
    beforeEnter(to, from, next) {
      hasUrl('/role', next)
    }
  }, {
    path: '/user',
    component: () => import('../views/user/user.vue'),
    meta: {
      title: '管理员管理'
    },
    // beforeEnter(to, from, next) {
    //   hasUrl('/user', next)
    // }
  }, {
    path: '/cate',
    component: () => import('../views/cate/cate.vue'),
    meta: {
      title: '商品分类'
    },
  },
  {
    path: '/specs',
    component: () => import('../views/specs/specs.vue'),
    meta: {
      title: '商品规格'
    },
  },
  {
    path: '/goods',
    component: () => import('../views/goods/goods.vue'),
    meta: {
      title: '商品管理'
    },
  },
  {
    path: '/member',
    component: () => import('../views/member/member.vue'),
    meta: {
      title: '会员管理'
    },
  },
  {
    path: '/banner',
    component: () => import('../views/banner/banner.vue'),
    meta: {
      title: '轮播图管理'
    },
  },
  {
    path: '/seck',
    component: () => import('../views/seck/seck.vue'),
    meta: {
      title: '限时秒杀管理'
    },
  },
]

const routes = [{
    path: '/index',
    component: () => import('../pages/index.vue'),
    children: [{
        path: '/home',
        component: () => import('../views/home.vue')
      },
      ...routesIndex,
      {
        path: '',
        redirect: "/home"
      },
    ]
  },
  {
    path: '/login',
    component: () => import('../pages/login.vue')
  },
  {
    path: "*",
    redirect: "/index"
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

//调用全局前置导航守卫
router.beforeEach((to, from, next) => {
  if (to.path == '/login') {
    next()
    return
  }
  //如果已经登录 就放行
  if (store.getters.getUser) {
    next()
    return
  }
  //以上条件都不符合 就直接强制跳转到登录
  next('/login')
})

export default router